草庐IT

具有多行的Android Textview ellipsize

全部标签

c# - 构建具有插件支持的应用程序

我正在开始一个新项目,它将极大地受益于程序附加组件。该程序以其最基本的形式从串行端口读取数据并将其解析为数据库记录。可以编写的附加组件示例包括自动存档附加组件、过滤记录的附加组件等。我正在编写程序和附加组件,但有些客户需要自定义解决方案,所以而不是分支并制作一个完全独立的程序,附加组件会很棒。最简单的附加组件可能是构造函数获取对象引用、以某种方式操作对象然后关闭的表单。不幸的是,我完全不知道从哪里开始编码,也几乎不知道从哪里搜索。我搜索的所有内容都会出现浏览器加载项。根据我收集到的信息,我需要研究动态加载DLL。除此之外,我一无所知。有没有人知道我有什么好的资源或例子?我很乐意提供更多

具有插件之间共享接口(interface)的 C# 插件架构

我将我的问题分为短版和长版,供手头时间不多的人使用。精简版:我需要一些具有提供者和消费者插件的系统的架构。提供者应该实现接口(interface)IProvider,消费者应该实现IConsumer。正在执行的应用程序应该只知道IProvider和IConsumer。消费者实现可以询问正在执行的程序集(通过ServiceProcessor)哪些提供者实现了InterfaceX并返回一个List。这些IProvider对象应该被转换为InterfaceX(在消费者中),以便能够将消费者Hook到InterfaceX定义的某些事件上。这将失败,因为执行程序集不知何故不知道此Interfac

c# - 使用 LINQ,如何从列表中查找具有给定属性值的对象?

我有一个名为Questions的类。此Questions具有属性QuestionID和QuestionAnswer。在foreach中遍历此ListofQuestion时,我必须找到.QuestionID=12。如果我找到.QuestionID=12,那么我必须立即为.QuestionID=14的.QuestionAnswer="SomeText"赋值。我不想在.QuestionId=12'中再次迭代以找到.QuestionID=14`。有什么方法可以使用LINQ直接转到.QuestionID=14?例如:ForEachmQuestionAsQuestionIn_mQuestionsI

c# - 为具有多个项目的解决方案创建 nuget 包

我们目前正在使用多个项目构建解决方案。我们有这样的东西:-Common-Logging-Logging.NLog-Threading所以Logging.NLog依赖于Logging,LoggingonCommon...等当我们打包Logging.NLog时,我希望nuget发现Loggin和Common依赖项。此刻,我用Common创建了一个包,然后在Logging中我安装了Commonwith包install-packageCommon但是每当我对Common进行修改时,我都必须更新包,它们是由我们的持续集成系统(Hudson)创建的,所以在我们开发时这很烦人。我只想拥有一个项目引用

c# - 如何在 csv 的同一单元格内的多行上写入数据?

我想使用C#创建一个csv文件。我有一些数据想在同一个单元格内多行写入。例如如果我有以下三个句子,Samplesentence1.Thisissecondsamplesentence.andthisisthirdsentence.我想将所有这三个句子写在csv文件的单个单元格中,但我希望其中三个在单独的行中。我的预期输出是:Samplesentence1.Thisissecondsamplesentence.andthisisthirdsentence.目前我正在尝试通过在两个句子之间使用\n字符来实现此目的,但是当我这样做时,所有三个句子都在单独的行中。谁能告诉我如何解决这个问题?

c# - 两侧具有不同笔划粗细的 WPF 矩形或具有虚线笔划的边框?

我知道我可以创建一个带有矩形的虚线边框,或者为不同的边创建一个具有不同描边粗细的边框:无论如何我都可以实现:?更新:这需要填充其父项中的空间(与我的固定大小的示例不同),例如一个Grid-所以一个具有固定大小的DrawingGeometry和我自己的Pen不能用来实现这个..可以吗? 最佳答案 试试这个:它是边框,所以当放在网格内部时,它会使用可用空间,你可以为每一边设置不同的宽度,它使用矩形作为视觉画笔,所以你可以轻松地将边框设置为虚线。 关于c#-两侧具有不同笔划粗细的WPF矩形或具

c# - 为什么 c# 编译器在使用具有 new() 约束的泛型类型调用 new 时发出 Activator.CreateInstance?

当你有如下代码时:staticTGenericConstruct()whereT:new(){returnnewT();}C#编译器坚持发出对Activator.CreateInstance的调用,这比native构造函数慢得多。我有以下解决方法:publicstaticclassParameterlessConstructorwhereT:new(){publicstaticTCreate(){return_func();}privatestaticFuncCreateFunc(){returnExpression.Lambda>(Expression.New(typeof(T)))

c# - 具有四个以上参数(方法参数)的 Action 委托(delegate)

我写了一个辅助类,它使用Action-delegate作为方法参数。像这样:publicvoidSomeMethod(ActionmethodToExecute,Targument);根据MSDN,您可以声明最大值。Action委托(delegate)的4个参数:Action.现在我想调用一个需要5个的方法!争论。我怎么能这样做?最好的解决方案是我可以使用动态数量的方法参数。谢谢 最佳答案 声明你需要的Action委托(delegate),这没什么神奇的:publicdelegatevoidAction(T1p1,T2p2,T3p3

c# - 如何编写具有内存持久存储的 WCF 服务?

我编写了一个WCF服务,但存储在服务实现中的数据不会在调用之间持续存在,即使存储在静态变量中也是如此。我能做什么?服务实现如下:publicclassStorage:IStorage{protectedstaticobject[]_data;#regionIStorageMemberspublicvoidInsert(object[]data){lock(_data){_data=_data.Concat(data).ToArray();}}publicobject[]SelectAll(){lock(_data){return(object[])_data.Clone();}}#en

具有不同参数的两个方法的 C# 委托(delegate)

我正在使用以下方法:publicvoidM1(Int32a){//acquireMyMutexDoSomething(a);//releaseMyMutex}和publicvoidM2(Strings,Stringt){//acquireMyMutexDoSomethingElse(s,t);//releaseMyMutex}根据我目前的发现,似乎不可能对具有不同签名的两个方法使用一个委托(delegate)。有没有其他的替代方法来写这样的东西:publicvoidUsingMutex(...){//acquireMyMutex...//releaseMyMutex}UsingMute